#ifndef _OCPP_ObliqueNodeInfo_H_
#define _OCPP_ObliqueNodeInfo_H_

#include "ObliqueConfig.h"

namespace OCPP
{
	namespace Cesium
	{
		class ObliqueNodeInfo;
		using ObliqueNodeInfoVec = std::vector<ObliqueNodeInfo>;

		class ObliqueNodeInfo
		{
		public:
			ObliqueNodeInfo() {}
			Json::Value toJson();
			void statistic(ObliqueTileStatistic* statstic = NULL);
			void fromJson(Json::Value& value);
			void count(osg::BoundingBox& bound);
			void insertChild(ObliqueNodeInfo child);
			uint32 numGeode = 0;
			uint32 nodeDepth = 0;
			uint32 tileLevel = 0;
			uint32 numVertex = 0;
			uint32 numBytesOfImage = 0;
			String fileName;
			String tileID;
			Vector2i minImageSize;
			Vector2i maxImageSize;
			std::vector<Vector2i> imageSizes;
			osg::BoundingBox boundingBox;
			ObliqueNodeInfoVec children;
		};
	}
}


#endif
